package cn.com.xiaoshoujia.order.service;

import cn.com.xiaoshoujia.activities.dto.ActivityOrderJoinDTO;
import cn.com.xiaoshoujia.activities.dto.ActivityOrderWxDTO;
import cn.com.xiaoshoujia.order.entity.Order;

import java.util.Map;

public interface OrderService {
    boolean save(Order order);

    ActivityOrderJoinDTO saveSingleOrder(ActivityOrderWxDTO wxOrder, Long productId) throws RuntimeException;

    ActivityOrderJoinDTO saveHeadOrder(ActivityOrderWxDTO wxOrder, Long productId);

    ActivityOrderJoinDTO saveJoinOrder(ActivityOrderWxDTO wxOrder, Long productId);

    Integer findWxHeadStatus(Long headId);

    boolean saveTeamOrder(ActivityOrderWxDTO wxOrder, Long productId);

    Order findByOrderId(String orderId);

    boolean notifyProcess(String out_trade_no, String total_fee, String cluesId, String requestBody);

    boolean cancelOrder(String orderId) throws RuntimeException;

    Map<String, Object> findNoPayOrder(String sysId, Long id);
}
